/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package state;

import command.SalvarNovoCommand;
import presenter.CadPacientePresenter;

/**
 *
 * @author Kdc
 */
public class EstadoNovo extends AbstractClienteState {

    public EstadoNovo(CadPacientePresenter objeto) {
        super(objeto);
        processar();
    }

    @Override
    public void processar() {

        objeto.getCp().carregarPacientes();

        limparCampos(objeto);
        liberarCampos(objeto);
        bloquearBotoes(objeto);
        liberarBotoes(objeto);

        objeto.getView().setTitle("Cadastrar Paciente");
        objeto.getView().setVisible(true);

        System.out.println("=====================================\nEstado Novo\n=====================================");

    }

    @Override
    public void salvar(CadPacientePresenter cadPaciente) {
        SalvarNovoCommand salvar = new SalvarNovoCommand(cadPaciente);
        salvar.executar();
    }

    private void limparCampos(CadPacientePresenter objeto) {
        objeto.getView().getJtNome().setText("");
        objeto.getView().getJtAltura().setText("");
        objeto.getView().getJtPeso().setText("");
        objeto.getView().getJtQuadril().setText("");
        objeto.getView().getJtCintura().setText("");
        objeto.getView().getJtdataNascimento().setText("");
        objeto.getView().getJcSexo().setSelectedIndex(0);
        objeto.getView().getJlClassificacaoIAC().setText("");
        objeto.getView().getJlClassificacaoIMC().setText("");
        objeto.getView().getJlClassifcRCQ().setText("");
        objeto.getView().getJlClassifcCC().setText("");
        objeto.getView().getJlCC().setText("");
        objeto.getView().getJlRCQ().setText("");
        objeto.getView().getJlIAC().setText("");
        objeto.getView().getJlIMC().setText("");

    }

    private void liberarCampos(CadPacientePresenter objeto) {
        objeto.getView().getJcSexo().setEnabled(true);
        objeto.getView().getJtAltura().setEnabled(true);
        objeto.getView().getJtCintura().setEnabled(true);
        objeto.getView().getJtNome().setEnabled(true);
        objeto.getView().getJtPeso().setEnabled(true);
        objeto.getView().getJtQuadril().setEnabled(true);
        objeto.getView().getJtdataNascimento().setEnabled(true);
        objeto.getView().getJbSalvar().setEnabled(true);
    }

    private void bloquearBotoes(CadPacientePresenter objeto) {
        objeto.getView().getBtnNovo().setEnabled(false);
        objeto.getView().getBtnEditar().setEnabled(false);
    }

    private void liberarBotoes(CadPacientePresenter objeto) {
        objeto.getView().getJbSalvar().setEnabled(true);
    }

}
